import cv2
import os

# 获取脚本的当前目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 定义帧图片存储的相对路径
frames_output_dir = os.path.join(current_dir, 'frames_output')

if not os.path.exists(frames_output_dir):
    os.makedirs(frames_output_dir)
# 获取视频文件路径和对象
video_path = "./video/opencv_test_video.mp4"
cap = cv2.VideoCapture(video_path)

# 创建一个计数器，用于命名图片
frame_count = 0

# 循环读取每一帧
while True:
    ret, frame = cap.read()
  #  print(ret)
    if not ret:
        break
    # 转换成灰度图片
    gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    # 设置图片的保存路径及名称
    save_path = os.path.join(frames_output_dir, f"frame_{frame_count}.png")
    cv2.imwrite(save_path, gray_frame)
    frame_count += 1

cap.release()
